package com.websocket.java.websocket.controller;

import org.springframework.stereotype.Component;

import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

/**
 * @description: <p>@ServerEndpoint("/myWs1")通过这个springboot就可以知道你暴露出去的ws应用的路径，类似我们经常用的@RequestMapping。
 * 比如你的启动端口是8080，而这个注解的值是 myWs1，那我们就可以通过 WS://127.0.0.1:8080/myWs1 来连接你的应用
 * </p>
 * @Author C_Y_J
 * @create 2022/7/7 15:00
 **/
@Component
@ServerEndpoint("/myWs1")
public class WsServerController {

    /**
     * 连接成功
     *
     * @param session
     */
    @OnOpen
    public void onOpen(Session session) {
        System.out.println("myWs1连接成功");
    }

    /**
     * 连接关闭
     *
     * @param session
     */
    @OnClose
    public void onClose(Session session) {
        System.out.println("myWs1连接关闭");
    }

    /**
     * 接收到消息
     *
     * @param text
     */
    @OnMessage
    public String onMsg(String text) {
        System.out.println("服务器发送" + text);
        return "服务器发送：" + text;
    }
}
